MATLAB中如何画出x.^2+y.^2+z.^2=1的图像。

来源:百度知道 编辑:UC知道 时间:2024/09/21 17:37:31
我知道可以写成z=sqrt(1-y.^2-x.^2);但是画出来只有一半。而且又不能写成1=x.^2+y.^2+z.^2;有会的请说下啊

法一:
>> sphere
>> axis square

法二:
参数方程来画
clc
clear
% by friendchj
r=1;%半径
x0=2;%中心
y0=2;
z0=2;
theta=(0:0.1:2)*pi;
phi=(0:0.1:2)*pi;
x=zeros(length(theta),length(phi));
y=x;
z=x;
for i=1:length(theta)
for j=1:length(phi)
x(i,j)=r*sin(theta(i))*cos(phi(j))+x0;
y(i,j)=r*sin(theta(i))*sin(phi(j))+y0;
end
z(i,:)=r*cos(theta(i))+z0;
end
surf(x,y,z)
axis square

使用我们初中时候学习的参数表达式,忘记了么?

不管是圆还是球体,都可以使用参数表达式来画图。

画完一一半后,再接着画:
[x,y]=sphere(30);
z=sqrt(1-y.^2-x.^2);
plot3(x,y,z);
hold on;
plot3(x,y,-z);